/*
 * Copyright 2017 Baiyyy
 * @(#)TempDeviceDao.java
 */

package com.byyy.ccts.modules.cc.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.byyy.ccts.modules.cc.entity.ccts.TADevice;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by DELL on 2018-4-28.
 */
public interface DeviceMapper extends BaseMapper<TADevice> {

    List<TADevice> selectDevicePage(Page<TADevice> page, @Param("ew") Wrapper<TADevice> wrapper, @Param("zhuangcdNos") List<String> zhuangcdNos);

    void updateWorkingByIds(@Param("ids") List<String> ids, @Param("working") String working);

    void updateWorkingById(@Param("id") String id, @Param("working") String working, @Param("zcdNo") String zcdNo);

    List<TADevice> selectDeviceInfoPage(Page<TADevice> page, @Param("ew") Wrapper<TADevice> wrapper);

    List<TADevice> selectDeviceInfo(@Param("ids") List<String> ids);

    void updateStateByBarcodes(@Param("barcodes") List<String> barcodes, @Param("working") String working);

    void updateStateByZcdNos(@Param("zcdNos") List<String> zcdNos, @Param("working") String working);

    /** 微信小程序接口查看设备最近的5个温度值 */
    List<TADevice> queryTheLatestTemp(String id);

    /** 清除流水号以前关联的设备状态[只有状态小于激活的单据才可以清除] */
    void clearStateByBarcodes(@Param("barcodes") List<String> barcodes, @Param("working") String working);

    /** 根据设备SN查询设备信息 */
    TADevice selectBySn(String sn);

    /** 查询冷藏车对应的测点信息 */
    List<TADevice> queryByCarNo(String car);

    /** 根据NO和仓库查询信息 */
    List<TADevice> queryByNoAndCangku(@Param("nos") List<String> nos, @Param("cangku") String cangku);
}
